﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Engine
{
    public interface iCanBeOverlayed
    {

        /// <summary>
        /// Returns the overlays applied on this element
        /// </summary>
        /// <remarks>Do not alter the dictionnary from here, use addOverlay or removeOverlay, other implications may survene later if you don't</remarks>
        Dictionary<String, Effects.Overlay> getOverlays();

        /// <summary>
        /// Adds an overlay or replaces the existing overlay
        /// </summary>
        /// <returns>True if overlay is new, false if overlay is replaced, the overlay still gets installed</returns>
        bool addOverlay(String name, Effects.Overlay overlay);

        /// <summary>
        /// Removes an overlay
        /// </summary>
        /// <returns>True if overlay existed and was removed, false if overlay didn't exist</returns>
        bool removeOverlay(String name);

    }
}
